<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">
    <meta name="referrer" content="never">
    <title>正则创建</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        ul {
            list-style: none;
        }
    </style>
</head>
<body>
    
    <script type="text/javascript">
        /* 正则表达式用于 从字符串中 提取/校验/替换 某段内容 
            创建：
                1. 字面量形式创建   /匹配的模板内容/属性  i m g y u
                    多个属性不分先后顺序
                2. 构造函数方式创建   new RegExp(匹配的模板, 属性)

            当模板是一个变量或者表达式的值的时候，需要使用 构造函数 模式创建正则
        */

        var reg = /abc/,
            reg1 = /abc/i,
            reg2 = /abc/mig,
            reg3 = /abc/gim;

        var nreg = new RegExp("abc"),
            nreg1 = new RegExp("abc", "mig");

        console.log(reg, reg1, reg2, reg3);

        console.log("构造函数创建");
        console.log("nreg", nreg);
        console.log("nreg1", nreg1);

        var key = "uname";

        var keyReg = /key == "uname" ? "aaa" : "bbb"/;
        var keyNewReg = new RegExp(key == "uname" ? "aaa" : "bbb");

        console.log("模板是变量或者表达式的值");
        console.log("keyReg", keyReg);
        console.log("keyNewReg", keyNewReg);
    </script>
</body>
</html>